package com.platform.comm.common.batch.processor;

import com.google.common.base.Strings;
import com.platform.comm.util.CryptUtil;
import com.platform.vo.ImportDto;
import org.springframework.batch.item.ItemProcessor;

import javax.annotation.Nonnull;
import java.util.Objects;

/**
 * Title: ComImportDataDecryptProcessor
 * Description: 通用数据加密处理器
 * 用来单独处理加密相关的内容，与转换的流程解耦
 * Date 2020/4/24
 *
 * @author wxw
 * @version v1.0
 */
public class ComImportDataDecryptProcessor implements ItemProcessor<ImportDto, ImportDto> {

    @Override
    public ImportDto process(@Nonnull ImportDto item) {
        try {
            if (item.isFlag()) {
                // 加密手机号
                String mobile = Objects.toString(item.getBucket().get("mobile"), "");
                if (!Strings.isNullOrEmpty(mobile)) {
                    item.getBucket().put("mobile", CryptUtil.bs64EncryptWithHead(mobile));
                }
            }
        } catch (Exception ex) {
            item.setFlag(false);
            item.setErrMsg(ex.getMessage());
        }
        return item;
    }
}
